The present invention relates to a data processing system for sharing a library unit in a multi-initiator environment such as a plurality of host computers or servers, and more particularly, it relates to a data processing system composed by connecting a library unit to host computers by means of SCSI (Small Computer System Interface).
As an input/output system for a multi-computer system or a server client system, a library unit permitting storage and utilization of data in a large volume is usually employed. As an interface for such a library unit shared by a plurality of higher-level units, a block multiplexer channel interface (MBC interface) prepared for channel input/output for host computers has conventionally been utilized. Along with the recent tendency toward downsizing host computers and popularity of server client systems using workstations, an SCSI adopted as ANSI X3. 131-1986 is used as the interface for a library unit to allow expansion of the scope of higher-level units and library units composing a system.
FIG. 1 shows a conventional system using an SCSI. A library unit 110 is connected by means of an SCSI bus 120 to host computers 100-1 and 100-2 as higher-level units. In this case, SCSI controllers 130-1 and 130-2 of the host computers 100-1 and 100-2 serve as initiators, and an SCSI controller 180 of the library unit becomes a target.
FIG. 2 is a detailed view of FIG. 1: the host computers 100-1 and 100-2 are provided with SCSI controllers 130-1 and 130-2, data processing sections 140-1 and 140-2, terminal processing sections 150-1 and 150-2 and data terminal equipment 160-1 and 160-2. On the other hand, the library unit 110 is also provided with an SCSI controller 180 which is connected to the SCSI controllers 130-1 and 130-2 on the host side through an SCSI bus 120 comprising nine data lines and nine control lines, the number nine being obtained by adding parity one bit to eight bits.
However, when connecting the library unit to a plurality of host computers by means of such SCSIs, if the library is in use by one of the host computers, the other computer, even if desiring to use the library, is refused as busy by the SCSI controller of the library unit. When the host computer using the SCSI controller of the library unit as the target hangs up for some reason or other, the only response the other computer desiring to use the library receives is a busy response, and no processing can be performed until the bus is reset.
Now, an SCSI unit becoming unabled as a result of hang-up of a host computer is described in detail. First, FIG. 3A represents a state in which the host computers 100-1 and 100-2 are not processing. Then, when a request for input/output to the library unit 110 takes place in the host computer 100-2, as shown in FIG. 3B, the host computer 100-2 occupies the SCSI controller 180 of the library unit 110 serving as the target, and proceeds to perform input/output processing. In this state, it is assumed that the host computer 100-2 hangs up for some reason or other and discontinues processing as shown in FIG. 3C. The SCSI controller 180 of the target library unit 110, continues to determine that the hung-up host computer 100-2 is still processing, since a processing break signal was never received. The controller 180 therefore refuses the access request from the host computer 100-1 with a busy response busy as shown in FIG. 3D. When a busy response is the only response received for a long period of time, it is conceivable that this state is caused by hang-up as a result of an abnormality in the other host computer, and a reset signal is sent from an SCSI controller provided in the host computer 100-1 to all the other SCSI controllers to reset the bus to forcedly bring them back to their initial state.
However, if the other host computer, erroneously determines that the SCSI bus is unduly occupied under the effect of hang-up of the occupying computer, and performs a bus reset while large-sized data normally transmitted or received for a long period of time, is being transmitted or received a forced interruption of the transfer may destruct data. Particularly when a library unit is connected through a server to host computers, a large volume of data is often transferred from the server to the library unit, and in such a case, it is not rare that the library unit is occupied for more than three or four hours.